package iterator;

public class SkyworthTelevision implements Television {
    private String[] obj = {"CCTV-1", "CCTV-2", "CCTV-3", "CCTV-4", "CCTV-5", "CCTV-6", "CCTV-7", "CCTV-8"};

    public TVIterator createIterator() {
        return new SkyworthIterator();
    }

    private class SkyworthIterator implements TVIterator {
        private int currentIndex = 0;

        public void next() {
            currentIndex = (currentIndex + 1) % obj.length;  // 循环切换
        }

        public void previous() {
            currentIndex = (currentIndex - 1 + obj.length) % obj.length;
        }

        public void setChannel(int i) {
            if (i >= 0 && i < obj.length) {
                currentIndex = i;
            }
        }


        public Object currentChannel() {
            return obj[currentIndex];
        }

        public boolean isLast() {
            return currentIndex == obj.length - 1;
        }

        public boolean isFirst() {
            return currentIndex == 0;
        }
    }
}